package insts

//nolint:gocyclo,funlen
func (d *Disassembler) initializeDecodeTable() {
	d.decodeTables = make(map[FormatType]*decodeTable)

	// SOP2 instructions
	d.addInstType(&InstType{"s_add_u32", 0, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_sub_u32", 1, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_add_i32", 2, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_sub_i32", 3, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_addc_u32", 4, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_subb_u32", 5, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_min_i32", 6, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_min_u32", 7, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_max_i32", 8, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_max_u32", 9, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cselect_b32", 10, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cselect_b64", 11, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_and_b32", 12, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_and_b64", 13, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_or_b32", 14, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_or_b64", 15, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_xor_b32", 16, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_xor_b64", 17, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_andn2_b32", 18, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_andn2_b64", 19, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_orn2_b32", 20, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_orn2_b64", 21, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_nand_b32", 22, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_nand_b64", 23, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_nor_b32", 24, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_nor_b64", 25, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_xnor_b32", 26, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_xnor_b64", 27, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_lshl_b32", 28, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_lshl_b64", 29, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_lshr_b32", 30, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_lshr_b64", 31, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_ashr_i32", 32, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_ashr_i64", 33, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_bfm_b32", 34, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_bfm_b64", 35, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_mul_i32", 36, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_bfe_u32", 37, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_bfe_i32", 38, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_bfe_u64", 39, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_bfe_i64", 40, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cbrahcn_g_fork", 41, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_absdiss_i32", 42, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_rfe_restore_b64", 43, FormatTable[SOP2], 0, ExeUnitScalar, 32, 32, 32, 0, 0})

	// VOP2 instructions
	d.addInstType(&InstType{"v_cndmask_b32_e32", 0, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_add_f32_e32", 1, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_sub_f32_e32", 2, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_subrev_f32_e32", 3, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_mul_legacy_f32", 4, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_mul_f32_e32", 5, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_mul_i32_i24_e32", 6, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_mul_hi_i32_i24", 7, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_mul_u32_u24_e32", 8, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_mul_hi_u32_u24", 9, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_min_f32_e32", 10, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_max_f32_e32", 11, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_min_i32_e32", 12, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_max_i32_e32", 13, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_min_u32_e32", 14, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_max_u32_e32", 15, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_lshrrev_b32_e32", 16, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_ashrrev_i32_e32", 17, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_lshlrev_b32_e32", 18, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_and_b32_e32", 19, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_or_b32_e32", 20, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_xor_b32_e32", 21, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_mac_f32_e32", 22, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_madmk_f32", 23, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_madak_f32", 24, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_add_u32_e32", 25, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_sub_u32_e32", 26, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_subrev_u32_e32", 27, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_addc_u32_e32", 28, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_subb_u32_e32", 29, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_subbrev_u32", 30, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_add_f16", 31, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_sub_f16", 32, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_subrev_f16", 33, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_mul_f16", 34, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_mac_f16", 35, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_madmk_f16", 36, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_madak_f16", 37, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_add_u16", 38, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_sub_u16", 39, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_subrev_u16", 40, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_mul_lo_u16", 41, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_lshlrev_b16_e32", 42, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_lshrrev_b16", 43, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_ashrrev_i16", 44, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_max_f16", 45, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_min_f16", 46, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_max_u16", 47, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_max_i16", 48, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_min_u16", 49, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_min_i16", 50, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_ldexp_f16", 51, FormatTable[VOP2], 0, ExeUnitVALU, 32, 32, 32, 0, 0})

	// VOP1 instructions
	d.addInstType(&InstType{"v_nop", 0, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_mov_b32_e32", 1, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_readfirstlane_b32", 2, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_i32_f64", 3, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_f64_i32_e32", 4, FormatTable[VOP1], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_f32_i32", 5, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_f32_u32_e32", 6, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_u32_f32_e32", 7, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_i32_f32_e32", 8, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_f16_f32", 10, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_f32_f16", 11, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_rpi_i32_f32", 12, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_flr_i32_f32", 13, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_off_f32_i4", 14, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_f32_f64_e32", 15, FormatTable[VOP1], 0, ExeUnitVALU, 32, 64, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_f64_f32_e32", 16, FormatTable[VOP1], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_f32_ubyte0", 17, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_f32_ubyte1", 18, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_f32_ubyte2", 19, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_f32_ubyte3", 20, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_u32_f64", 21, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_f64_u32", 22, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_trunc_f64", 23, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_ceil_f64", 24, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_rndne_f64", 25, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_floor_f64", 26, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_fract_f32", 27, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_trunc_f32_e32", 28, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_ceil_f32", 29, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_rndne_f32_e32", 30, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_floor_f32", 31, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_exp_f32_e32", 32, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_log_f32", 33, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_rcp_f32_e32", 34, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_rcp_iflag_f32_e32", 35, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_rsq_f32_e32", 36, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_rcp_f64_e32", 37, FormatTable[VOP1], 0, ExeUnitVALU, 64, 64, 32, 0, 0})
	d.addInstType(&InstType{"v_rsq_f64", 38, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_sqrt_f32_e32", 39, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_sqrt_f64", 40, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_sin_f32", 41, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cos_f32", 42, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_not_b32_e32", 43, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_bfrev_b32_e32", 44, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_ffbh_u32_e32", 45, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_ffbl_b32", 46, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_ffbh_i32", 47, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_frexp_exp_i32_f64", 48, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_frexp_mant_f64", 49, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_fract_f64", 50, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_frexp_exp_i32_f32", 51, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_frexp_mant_f32", 52, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_clrexcp", 53, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_movreld_b32", 54, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_movrels_b32", 55, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_movrelsd_b32", 56, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_f16_u16", 57, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_f16_i16", 58, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_u16_f16", 59, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_i16_f16", 60, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_rcp_f16", 61, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_sqrt_f16", 62, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_rsq_f16", 63, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_log_f16", 64, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_exp_f16", 65, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_frexp_mant_f16", 66, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_frexp_exp_i16_f16", 67, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_floor_f16", 68, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_ceil_f16", 69, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_trunc_f16", 70, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_rndne_f16", 71, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_fract_f16", 72, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_sin_f16", 73, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cos_f16", 74, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_exp_legacy_f32", 75, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_log_legacy_f32", 76, FormatTable[VOP1], 0, ExeUnitVALU, 32, 32, 32, 0, 0})

	// FLAT Instructions
	d.addInstType(&InstType{"flat_load_ubyte", 16, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_load_sbyte", 17, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_load_ushort", 18, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_load_sshort", 19, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_load_dword", 20, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_load_dwordx2", 21, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_load_dwordx3", 22, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_load_dwordx4", 23, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_store_byte", 24, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_store_short", 26, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_store_dword", 28, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_store_dwordx2", 29, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_store_dwordx3", 30, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_store_dwordx4", 31, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_atomic_swap", 48, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_atomic_cmpswap", 49, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_atomic_add", 50, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_atomic_sub", 51, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_atomic_smin", 53, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_atomic_umin", 54, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_atomic_smax", 55, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flag_atomic_umax", 56, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_atomic_and", 57, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_atomic_or", 58, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_atomic_xor", 59, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_atomic_inc", 60, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_atomic_dec", 61, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_atomic_swap_x2", 80, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_atomic_cmpswap_x2", 81, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_atomic_add_x2", 82, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_atomic_sub_x2", 83, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_atomic_smin_x2", 85, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_atomic_umin_x2", 86, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_atomic_smax_x2", 87, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_atomic_umax_x2", 88, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_atomic_and_x2", 89, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_atomic_or_x2", 90, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_atomic_xor_x2", 91, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_atomic_inc_x2", 92, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"flat_atomic_dec_x2", 93, FormatTable[FLAT], 0, ExeUnitVMem, 32, 32, 32, 0, 0})

	// SMEM instructions
	d.addInstType(&InstType{"s_load_dword", 0, FormatTable[SMEM], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_load_dwordx2", 1, FormatTable[SMEM], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_load_dwordx4", 2, FormatTable[SMEM], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_load_dwordx8", 3, FormatTable[SMEM], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_load_dwordx16", 4, FormatTable[SMEM], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_buffer_load_dword", 8, FormatTable[SMEM], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_buffer_load_dwordx2", 9, FormatTable[SMEM], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_buffer_load_dwordx4", 10, FormatTable[SMEM], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_buffer_load_dwordx8", 11, FormatTable[SMEM], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_buffer_load_dwordx16", 12, FormatTable[SMEM], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_store_dword", 16, FormatTable[SMEM], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_store_dwordx2", 17, FormatTable[SMEM], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_store_dwordx4", 18, FormatTable[SMEM], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_buffer_store_dword", 24, FormatTable[SMEM], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_buffer_store_dwordx2", 25, FormatTable[SMEM], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_buffer_store_dwordx4", 26, FormatTable[SMEM], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_dcache_inv", 32, FormatTable[SMEM], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_dcache_wb", 33, FormatTable[SMEM], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_dcache_inv_vol", 34, FormatTable[SMEM], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_dcache_wb_vol", 35, FormatTable[SMEM], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_memtime", 36, FormatTable[SMEM], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_memrealtime", 37, FormatTable[SMEM], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_atc_probe", 38, FormatTable[SMEM], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_atc_probe_buffer", 39, FormatTable[SMEM], 0, ExeUnitScalar, 32, 32, 32, 0, 0})

	// SOPP instructions
	d.addInstType(&InstType{"s_nop", 0, FormatTable[SOPP], 0, ExeUnitSpecial, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_endpgm", 1, FormatTable[SOPP], 0, ExeUnitSpecial, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_branch", 2, FormatTable[SOPP], 0, ExeUnitBranch, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cbranch_scc0", 4, FormatTable[SOPP], 0, ExeUnitBranch, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cbranch_scc1", 5, FormatTable[SOPP], 0, ExeUnitBranch, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cbranch_vccz", 6, FormatTable[SOPP], 0, ExeUnitBranch, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cbranch_vccnz", 7, FormatTable[SOPP], 0, ExeUnitBranch, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cbranch_execz", 8, FormatTable[SOPP], 0, ExeUnitBranch, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cbranch_execnz", 9, FormatTable[SOPP], 0, ExeUnitBranch, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_barrier", 10, FormatTable[SOPP], 0, ExeUnitSpecial, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_setkill", 11, FormatTable[SOPP], 0, ExeUnitSpecial, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_waitcnt", 12, FormatTable[SOPP], 0, ExeUnitSpecial, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_sethalt", 13, FormatTable[SOPP], 0, ExeUnitSpecial, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_sleep", 14, FormatTable[SOPP], 0, ExeUnitSpecial, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_setprio", 15, FormatTable[SOPP], 0, ExeUnitSpecial, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_sendmsg", 16, FormatTable[SOPP], 0, ExeUnitBranch, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_sendmsghalt", 17, FormatTable[SOPP], 0, ExeUnitBranch, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_trap", 18, FormatTable[SOPP], 0, ExeUnitSpecial, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_icache_inv", 19, FormatTable[SOPP], 0, ExeUnitSpecial, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_incperflevel", 20, FormatTable[SOPP], 0, ExeUnitSpecial, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_decperflevel", 21, FormatTable[SOPP], 0, ExeUnitSpecial, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_ttracedata", 22, FormatTable[SOPP], 0, ExeUnitSpecial, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cbranch_cdbgsys", 23, FormatTable[SOPP], 0, ExeUnitBranch, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cbranch_cdbguser", 24, FormatTable[SOPP], 0, ExeUnitBranch, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cbranch_cdbgsys_or_user", 25, FormatTable[SOPP], 0, ExeUnitBranch, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cbranch_cdbgsys_and_user", 26, FormatTable[SOPP], 0, ExeUnitBranch, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_endpgm_saved", 27, FormatTable[SOPP], 0, ExeUnitSpecial, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_set_gpr_idx_off", 28, FormatTable[SOPP], 0, ExeUnitSpecial, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_set_gpr_idx_mode", 29, FormatTable[SOPP], 0, ExeUnitSpecial, 32, 32, 32, 0, 0})

	// SOPC instructions
	d.addInstType(&InstType{"s_cmp_eq_i32", 0, FormatTable[SOPC], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmp_lg_i32", 1, FormatTable[SOPC], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmp_gt_i32", 2, FormatTable[SOPC], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmp_ge_i32", 3, FormatTable[SOPC], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmp_lt_i32", 4, FormatTable[SOPC], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmp_le_i32", 5, FormatTable[SOPC], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmp_eq_u32", 6, FormatTable[SOPC], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmp_lg_u32", 7, FormatTable[SOPC], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmp_gt_u32", 8, FormatTable[SOPC], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmp_ge_u32", 9, FormatTable[SOPC], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmp_lt_u32", 10, FormatTable[SOPC], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmp_le_u32", 11, FormatTable[SOPC], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_bitcmp0_b32", 12, FormatTable[SOPC], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_bitcmp1_b32", 13, FormatTable[SOPC], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_bitcmp0_b64", 14, FormatTable[SOPC], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_bitcmp1_b64", 15, FormatTable[SOPC], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_setvskip", 16, FormatTable[SOPC], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_set_gpr_idx_on", 17, FormatTable[SOPC], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmp_eq_u64", 18, FormatTable[SOPC], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmp_ne_u64", 19, FormatTable[SOPC], 0, ExeUnitScalar, 32, 32, 32, 0, 0})

	// SOPK instructions
	d.addInstType(&InstType{"s_movk_i32", 0, FormatTable[SOPK], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmovk_i32", 1, FormatTable[SOPK], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmpk_eq_i32", 2, FormatTable[SOPK], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmpk_lg_i32", 3, FormatTable[SOPK], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmpk_gt_i32", 4, FormatTable[SOPK], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmpk_ge_i32", 5, FormatTable[SOPK], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmpk_lt_i32", 6, FormatTable[SOPK], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmpk_le_i32", 7, FormatTable[SOPK], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmpk_eq_u32", 8, FormatTable[SOPK], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmpk_lg_u32", 9, FormatTable[SOPK], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmpk_gt_u32", 10, FormatTable[SOPK], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmpk_ge_u32", 11, FormatTable[SOPK], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmpk_lt_u32", 12, FormatTable[SOPK], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cmpk_le_u32", 13, FormatTable[SOPK], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_addk_i32", 14, FormatTable[SOPK], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_mulk_i32", 15, FormatTable[SOPK], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_cbranch_i_fork", 16, FormatTable[SOPK], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_getreg_b32", 17, FormatTable[SOPK], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_setreg_b32", 18, FormatTable[SOPK], 0, ExeUnitScalar, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"s_setreg_imm32_b32", 20, FormatTable[SOPK], 0, ExeUnitScalar, 32, 32, 32, 0, 0})

	// VOPC instruction
	d.addInstType(&InstType{"v_cmp_class_f32", 0x10, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_class_f32", 0x11, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_class_f64", 0x12, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_class_f64", 0x13, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_class_f16", 0x14, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_class_f16", 0x15, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_f_f16", 0x20, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_lt_f16", 0x21, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_eq_f16", 0x22, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_le_f16", 0x23, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_gt_f16", 0x24, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_lg_f16", 0x25, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_ge_f16", 0x26, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_o_f16", 0x27, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_u_f16", 0x28, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_nge_f16", 0x29, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_nlg_f16", 0x2a, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_ngt_f16", 0x2b, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_nle_f16", 0x2c, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_neq_f16", 0x2d, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_nlt_f16", 0x2e, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_tru_f16", 0x2f, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_f_f16", 0x30, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lt_f16", 0x31, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_eq_f16", 0x32, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_le_f16", 0x33, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_gt_f16", 0x34, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lg_f16", 0x35, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_ge_f16", 0x36, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_o_f16", 0x37, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_u_f16", 0x38, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_nge_f16", 0x39, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_nlg_f16", 0x3a, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_ngt_f16", 0x3b, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_nle_f16", 0x3c, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_neq_f16", 0x3d, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_nlt_f16", 0x3e, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_tru_f16", 0x3f, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_f_f32_e32", 0x40, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_lt_f32_e32", 0x41, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_eq_f32_e32", 0x42, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_le_f32_e32", 0x43, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_gt_f32_e32", 0x44, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_lg_f32_e32", 0x45, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_ge_f32_e32", 0x46, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_o_f32_e32", 0x47, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_u_f32_e32", 0x48, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_nge_f32_e32", 0x49, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_nlg_f32_e32", 0x4a, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_ngt_f32_e32", 0x4b, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_nle_f32_e32", 0x4c, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_neq_f32_e32", 0x4d, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_nlt_f32_e32", 0x4e, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_tru_f32_e32", 0x4f, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_f_f32_e32", 0x50, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lt_f32_e32", 0x51, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_eq_f32_e32", 0x52, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_le_f32_e32", 0x53, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_gt_f32_e32", 0x54, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lg_f32_e32", 0x55, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_ge_f32_e32", 0x56, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_o_f32_e32", 0x57, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_u_f32_e32", 0x58, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_nge_f32_e32", 0x59, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_nlg_f32_e32", 0x5a, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_ngt_f32_e32", 0x5b, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_nle_f32_e32", 0x5c, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_neq_f32_e32", 0x5d, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_nlt_f32_e32", 0x5e, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_tru_f32_e32", 0x5f, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_f_f64", 0x60, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_lt_f64", 0x61, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_eq_f64", 0x62, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_le_f64", 0x63, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_gt_f64", 0x64, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_lg_f64", 0x65, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_ge_f64", 0x66, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_o_f64", 0x67, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_u_f64", 0x68, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_nge_f64", 0x69, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_nlg_f64", 0x6a, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_ngt_f64", 0x6b, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_nle_f64", 0x6c, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_neq_f64", 0x6d, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_nlt_f64", 0x6e, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_tru_f64", 0x6f, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_f_f64", 0x70, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lt_f64", 0x71, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_eq_f64", 0x72, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_le_f64", 0x73, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_gt_f64", 0x74, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lg_f64", 0x75, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_ge_f64", 0x76, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_o_f64", 0x77, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_u_f64", 0x78, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_nge_f64", 0x79, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_nlg_f64", 0x7a, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_ngt_f64", 0x7b, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_nle_f64", 0x7c, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_neq_f64", 0x7d, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_nlt_f64", 0x7e, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_tru_f64", 0x7f, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_f_i16", 0xa0, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_lt_i16", 0xa1, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_eq_i16", 0xa2, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_le_i16", 0xa3, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_gt_i16_e32", 0xa4, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_lg_i16", 0xa5, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_ge_i16", 0xa6, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_tru_i16", 0xa7, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_f_u16", 0xa8, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_lt_u16", 0xa9, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_eq_u16", 0xaa, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_le_u16", 0xab, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_gt_u16", 0xac, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_lg_u16", 0xad, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_ge_u16", 0xae, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_tru_u16", 0xaf, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_f_i16", 0xb0, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lt_i16", 0xb1, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_eq_i16", 0xb2, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_le_i16", 0xb3, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_gt_i16", 0xb4, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lg_i16", 0xb5, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_ge_i16", 0xb6, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_tru_i16", 0xb7, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_f_u16", 0xb8, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lt_u16", 0xb9, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_eq_u16", 0xba, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_le_u16", 0xbb, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_gt_u16", 0xbc, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lg_u16", 0xbd, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_ge_u16", 0xbe, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_tru_u16", 0xbf, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_f_i32_e32", 0xc0, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_lt_i32_e32", 0xc1, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_eq_i32_e32", 0xc2, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_le_i32_e32", 0xc3, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_gt_i32_e32", 0xc4, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_lg_i32_e32", 0xc5, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_ge_i32_e32", 0xc6, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_tru_i32_e32", 0xc7, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_f_u32_e32", 0xc8, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_lt_u32_e32", 0xc9, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_eq_u32_e32", 0xca, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_le_u32_e32", 0xcb, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_gt_u32_e32", 0xcc, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	// It is lg in the documentation
	d.addInstType(&InstType{"v_cmp_ne_u32_e32", 0xcd, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_ge_u32_e32", 0xce, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_tru_u32_e32", 0xcf, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_f_i32_e32", 0xd0, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lt_i32_e32", 0xd1, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_eq_i32_e32", 0xd2, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_le_i32_e32", 0xd3, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_gt_i32_e32", 0xd4, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lg_i32_e32", 0xd5, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_ge_i32_e32", 0xd6, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_tru_i32_e32", 0xd7, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_f_u32_e32", 0xd8, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lt_u32_e32", 0xd9, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_eq_u32_e32", 0xda, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_le_u32_e32", 0xdb, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_gt_u32_e32", 0xdc, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lg_u32_e32", 0xdd, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_ge_u32_e32", 0xde, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_tru_u32_e32", 0xdf, FormatTable[VOPC], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_f_i64", 0xe0, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_lt_i64", 0xe1, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_eq_i64", 0xe2, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_le_i64", 0xe3, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_gt_i64", 0xe4, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_lg_i64", 0xe5, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_ge_i64", 0xe6, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_tru_i64", 0xe7, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_f_u64", 0xe8, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_lt_u64", 0xe9, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_eq_u64", 0xea, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_le_u64", 0xeb, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_gt_u64", 0xec, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_lg_u64", 0xed, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_ge_u64", 0xee, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_tru_u64", 0xef, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_f_i64", 0xf0, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lt_i64", 0xf1, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_eq_i64", 0xf2, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_le_i64", 0xf3, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_gt_i64", 0xf4, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lg_i64", 0xf5, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_ge_i64", 0xf6, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_tru_i64", 0xf7, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_f_u64", 0xf8, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lt_u64", 0xf9, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_eq_u64", 0xfa, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_le_u64", 0xfb, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_gt_u64", 0xfc, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lg_u64", 0xfd, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_ge_u64", 0xfe, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_tru_u64", 0xff, FormatTable[VOPC], 0, ExeUnitVALU, 32, 64, 64, 0, 0})

	// VOP3 Instructions
	d.addInstType(&InstType{"v_cmp_class_f32", 0x10, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_class_f32", 0x11, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_class_f64", 0x12, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_class_f64", 0x13, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_class_f16", 0x14, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_class_f16", 0x15, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_f_f16", 0x20, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_lt_f16", 0x21, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_eq_f16", 0x22, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_le_f16", 0x23, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_gt_f16", 0x24, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_lg_f16", 0x25, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_ge_f16", 0x26, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_o_f16", 0x27, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_u_f16", 0x28, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_nge_f16", 0x29, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_nlg_f16", 0x2a, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_ngt_f16", 0x2b, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_nle_f16", 0x2c, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_neq_f16", 0x2d, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_nlt_f16", 0x2e, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_tru_f16", 0x2f, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_f_f16", 0x30, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lt_f16", 0x31, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_eq_f16", 0x32, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_le_f16", 0x33, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_gt_f16", 0x34, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lg_f16", 0x35, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_ge_f16", 0x36, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_o_f16", 0x37, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_u_f16", 0x38, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_nge_f16", 0x39, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_nlg_f16", 0x3a, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_ngt_f16", 0x3b, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_nle_f16", 0x3c, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_neq_f16", 0x3d, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_nlt_f16", 0x3e, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_tru_f16", 0x3f, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_f_f32_e64", 0x40, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_lt_f32_e64", 0x41, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_eq_f32_e64", 0x42, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_le_f32_e64", 0x43, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_gt_f32_e64", 0x44, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_lg_f32_e64", 0x45, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_ge_f32_e64", 0x46, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_o_f32_e64", 0x47, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_u_f32_e64", 0x48, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_nge_f32_e64", 0x49, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_nlg_f32_e64", 0x4a, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_ngt_f32_e64", 0x4b, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_nle_f32_e64", 0x4c, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_neq_f32_e64", 0x4d, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_nlt_f32_e64", 0x4e, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_tru_f32_e64", 0x4f, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_f_f32_e64", 0x50, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lt_f32_e64", 0x51, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_eq_f32_e64", 0x52, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_le_f32_e64", 0x53, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_gt_f32_e64", 0x54, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lg_f32_e64", 0x55, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_ge_f32_e64", 0x56, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_o_f32_e64", 0x57, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_u_f32_e64", 0x58, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_nge_f32_e64", 0x59, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_nlg_f32_e64", 0x5a, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_ngt_f32_e64", 0x5b, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_nle_f32_e64", 0x5c, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_neq_f32_e64", 0x5d, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_nlt_f32_e64", 0x5e, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_tru_f32_e64", 0x5f, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_f_f64", 0x60, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_lt_f64", 0x61, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_eq_f64", 0x62, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_le_f64", 0x63, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_gt_f64", 0x64, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_lg_f64", 0x65, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_ge_f64", 0x66, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_o_f64", 0x67, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_u_f64", 0x68, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_nge_f64", 0x69, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_nlg_f64", 0x6a, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_ngt_f64", 0x6b, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_nle_f64", 0x6c, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_neq_f64", 0x6d, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_nlt_f64", 0x6e, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_tru_f64", 0x6f, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_f_f64", 0x70, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lt_f64", 0x71, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_eq_f64", 0x72, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_le_f64", 0x73, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_gt_f64", 0x74, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lg_f64", 0x75, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_ge_f64", 0x76, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_o_f64", 0x77, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_u_f64", 0x78, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_nge_f64", 0x79, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_nlg_f64", 0x7a, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_ngt_f64", 0x7b, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_nle_f64", 0x7c, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_neq_f64", 0x7d, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_nlt_f64", 0x7e, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_tru_f64", 0x7f, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_f_i16", 0xa0, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_lt_i16", 0xa1, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_eq_i16", 0xa2, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_le_i16", 0xa3, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_gt_i16", 0xa4, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_lg_i16", 0xa5, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_ge_i16", 0xa6, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_tru_i16", 0xa7, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_f_u16", 0xa8, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_lt_u16", 0xa9, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_eq_u16", 0xaa, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_le_u16", 0xab, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_gt_u16", 0xac, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_lg_u16", 0xad, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_ge_u16", 0xae, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_tru_u16", 0xaf, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_f_i16", 0xb0, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lt_i16", 0xb1, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_eq_i16", 0xb2, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_le_i16", 0xb3, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_gt_i16", 0xb4, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lg_i16", 0xb5, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_ge_i16", 0xb6, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_tru_i16", 0xb7, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_f_u16", 0xb8, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lt_u16", 0xb9, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_eq_u16", 0xba, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_le_u16", 0xbb, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_gt_u16", 0xbc, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lg_u16", 0xbd, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_ge_u16", 0xbe, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmpx_tru_u16", 0xbf, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cmp_f_i32_e64", 0xc0, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmp_lt_i32_e64", 0xc1, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmp_eq_i32_e64", 0xc2, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmp_le_i32_e64", 0xc3, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmp_gt_i32_e64", 0xc4, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmp_lg_i32_e64", 0xc5, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmp_ge_i32_e64", 0xc6, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmp_tru_i32_e64", 0xc7, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmp_f_u32_e64", 0xc8, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmp_lt_u32_e64", 0xc9, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmp_eq_u32_e64", 0xca, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmp_le_u32_e64", 0xcb, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmp_gt_u32_e64", 0xcc, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmp_ne_u32_e64", 0xcd, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmp_ge_u32_e64", 0xce, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmp_tru_u32_e64", 0xcf, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmpx_f_i32_e64", 0xd0, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmpx_lt_i32_e64", 0xd1, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmpx_eq_i32_e64", 0xd2, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmpx_le_i32_e64", 0xd3, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmpx_gt_i32_e64", 0xd4, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmpx_lg_i32_e64", 0xd5, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmpx_ge_i32_e64", 0xd6, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmpx_tru_i32_e64", 0xd7, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmpx_f_u32_e64", 0xd8, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmpx_lt_u32_e64", 0xd9, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmpx_eq_u32_e64", 0xda, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmpx_le_u32_e64", 0xdb, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmpx_gt_u32_e64", 0xdc, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmpx_lg_u32_e64", 0xdd, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmpx_ge_u32_e64", 0xde, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmpx_tru_u32_e64", 0xdf, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_cmp_f_i64", 0xe0, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_lt_i64", 0xe1, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_eq_i64", 0xe2, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_le_i64", 0xe3, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_gt_i64", 0xe4, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_lg_i64", 0xe5, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_ge_i64", 0xe6, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_tru_i64", 0xe7, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_f_u64", 0xe8, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_lt_u64", 0xe9, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_eq_u64", 0xea, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_le_u64", 0xeb, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_gt_u64", 0xec, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_lg_u64", 0xed, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_ge_u64", 0xee, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmp_tru_u64", 0xef, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_f_i64", 0xf0, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lt_i64", 0xf1, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_eq_i64", 0xf2, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_le_i64", 0xf3, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_gt_i64", 0xf4, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lg_i64", 0xf5, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_ge_i64", 0xf6, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_tru_i64", 0xf7, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_f_u64", 0xf8, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lt_u64", 0xf9, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_eq_u64", 0xfa, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_le_u64", 0xfb, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_gt_u64", 0xfc, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_lg_u64", 0xfd, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_ge_u64", 0xfe, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cmpx_tru_u64", 0xff, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_cndmask_b32_e64", 0 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 64, 0})
	d.addInstType(&InstType{"v_add_f32", 1 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_sub_f32_e64", 2 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_subrev_f32", 3 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_mul_legacy_f32", 4 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_mul_f32_e32", 5 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_mul_i32_i24", 6 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_mul_hi_i32_i24", 7 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_mul_u32_u24_e32", 8 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_mul_hi_u32_u24", 9 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_min_f32", 10 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_max_f32", 11 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_min_i32", 12 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_max_i32", 13 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_min_u32_e32", 14 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_max_u32_e32", 15 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_lshrrev_b32_e32", 16 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_ashrrev_i32_e32", 17 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_lshlrev_b32_e32", 18 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_and_b32_e32", 19 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_or_b32_e32", 20 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_xor_b32_e32", 21 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_mac_f32_e32", 22 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_madmk_f32", 23 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_madak_f32", 24 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_add_u32_e64", 25 + 256, FormatTable[VOP3b], 0, ExeUnitVALU, 32, 32, 32, 64, 64})
	d.addInstType(&InstType{"v_sub_u32_e64", 26 + 256, FormatTable[VOP3b], 0, ExeUnitVALU, 32, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_subrev_u32_e64", 27 + 256, FormatTable[VOP3b], 0, ExeUnitVALU, 32, 32, 0, 0, 64})
	d.addInstType(&InstType{"v_addc_u32_e64", 28 + 256, FormatTable[VOP3b], 0, ExeUnitVALU, 32, 32, 32, 64, 64})
	d.addInstType(&InstType{"v_subb_u32_e64", 29 + 256, FormatTable[VOP3b], 0, ExeUnitVALU, 32, 32, 32, 0, 64})
	d.addInstType(&InstType{"v_subbrev_u32_e64", 30 + 256, FormatTable[VOP3b], 0, ExeUnitVALU, 32, 32, 32, 64, 64})
	d.addInstType(&InstType{"v_add_f16", 31 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_sub_f16", 32 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_subrev_f16", 33 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_mul_f16", 34 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_mac_f16", 35 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_madmk_f16", 36 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_madak_f16", 37 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_add_u16", 38 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_sub_u16", 39 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_subrev_u16", 40 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_mul_lo_u16", 41 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_lshlrev_b16", 42 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_lshrrev_b16", 43 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_ashrrev_i16", 44 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_max_f16", 45 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_min_f16", 46 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_max_u16", 47 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_max_i16", 48 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_min_u16", 49 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_min_i16", 50 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_ldexp_f16", 51 + 256, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})

	for _, instType := range d.decodeTables[VOP1].insts {
		d.addInstType(&InstType{instType.InstName,
			instType.Opcode + Opcode(320),
			FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	}
	d.addInstType(&InstType{"v_mad_legacy_f32", 448, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_mad_f32", 449, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_mad_i32_i24", 450, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_mad_u32_u24", 451, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_cubeid_f32", 452, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_cubesc_f32", 453, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_cubetc_f32", 454, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_cubema_f32", 455, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_bfe_u32", 456, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_bfe_i32", 457, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_bfi_b32", 458, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_fma_f32", 459, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_fma_f64", 460, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 64, 0})
	d.addInstType(&InstType{"v_lerp_u8", 461, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_alignbit_b32", 462, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_alignbyte_b32", 463, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_min3_f32", 464, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_min3_i32", 465, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_min3_u32", 466, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_max3_f32", 467, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_max3_i32", 468, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_max3_u32", 469, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_med3_f32", 470, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_med3_i32", 471, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_med3_u32", 472, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_sad_u8", 473, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_sad_hi_u8", 474, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_sad_u16", 475, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_sad_u32", 476, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_cvt_pk_u8_f32", 477, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_div_fixup_f32", 478, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_div_fixup_f64", 479, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 64, 0})
	d.addInstType(&InstType{"v_div_scale_f32", 480, FormatTable[VOP3b], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_div_scale_f64", 481, FormatTable[VOP3b], 0, ExeUnitVALU, 64, 64, 64, 64, 64})
	d.addInstType(&InstType{"v_div_fmas_f32", 482, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_div_fmas_f64", 483, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 64, 0})
	d.addInstType(&InstType{"v_msad_u8", 484, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_qsad_pk_u16_u8", 485, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_mqsad_pk_u16_u8", 486, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_mqsad_u32_u8", 487, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_mad_u64_u32", 488, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_mad_i64_i32", 489, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_mad_f16", 490, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_mad_u16", 491, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_mad_i16", 492, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_perm_b32", 493, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_fma_f16", 494, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_div_fixup_16", 495, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_cvt_pkaccum_u8_f32", 496, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_interp_p1_f32", 624, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_interp_p2_f32", 625, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_interp_mov_f32", 626, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_interp_p1ll_f16", 628, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_interp_p1lv_f16", 629, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_interp_p2_f16", 630, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_add_f64", 640, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_mul_f64", 641, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_min_f64_e64", 642, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_max_f64_e64", 643, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_ldexp_f64", 644, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_mul_lo_u32", 645, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_mul_hi_u32", 646, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_mul_hi_i32", 647, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_ldexp_f32", 648, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_readlane_b32", 649, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_writelane_b32", 650, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_bcnt_u32_b32", 651, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_mbcnt_lo_u32_b32", 652, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_mbcnt_hi_u32_b32", 653, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 32, 0})
	d.addInstType(&InstType{"v_lshlrev_b64", 655, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_lshrrev_b64", 656, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_ashrrev_i64", 657, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_trig_preop_f64", 658, FormatTable[VOP3a], 0, ExeUnitVALU, 64, 64, 64, 0, 0})
	d.addInstType(&InstType{"v_bfm_b32", 659, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_pknorm_i16_f32", 660, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_pknorm_u16_f32", 661, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_pkrtz_f16_f32", 662, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_pk_u16_u32", 663, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})
	d.addInstType(&InstType{"v_cvt_pk_i16_i32", 664, FormatTable[VOP3a], 0, ExeUnitVALU, 32, 32, 32, 0, 0})

	// SOP1 Instructions
	d.addInstType(&InstType{"s_mov_b32", 0, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_mov_b64", 1, FormatTable[SOP1], 0, ExeUnitScalar, 64, 64, 0, 0, 0})
	d.addInstType(&InstType{"s_cmov_b32", 2, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_cmov_b64", 3, FormatTable[SOP1], 0, ExeUnitScalar, 64, 64, 0, 0, 0})
	d.addInstType(&InstType{"s_not_b32", 4, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_not_b64", 5, FormatTable[SOP1], 0, ExeUnitScalar, 64, 64, 0, 0, 0})
	d.addInstType(&InstType{"s_wqm_b32", 6, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_wqm_b64 ", 7, FormatTable[SOP1], 0, ExeUnitScalar, 64, 64, 0, 0, 0})
	d.addInstType(&InstType{"s_brev_b32", 8, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_brev_b64", 9, FormatTable[SOP1], 0, ExeUnitScalar, 64, 64, 0, 0, 0})
	d.addInstType(&InstType{"s_bcnt0_i32_b32", 10, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_bcnt0_i32_b64", 11, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_bcnt1_i32_b32", 12, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_bcnt1_i32_b64", 13, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_ff0_i32_b32", 14, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_ff0_i32_b64", 15, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_ff1_i32_b32", 16, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_ff1_i32_b64", 17, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_flbit_i32_b32", 18, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_flbit_i32_b64", 19, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_flbit_i32", 20, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_flbit_i32_i64", 21, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_sext_i32_i8", 22, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_sext_i32_i16", 23, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_bitset0_b32", 24, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_bitset0_b64", 25, FormatTable[SOP1], 0, ExeUnitScalar, 64, 64, 0, 0, 0})
	d.addInstType(&InstType{"s_bitset1_b32", 26, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_bitset1_b64", 27, FormatTable[SOP1], 0, ExeUnitScalar, 64, 64, 0, 0, 0})
	d.addInstType(&InstType{"s_getpc_b64", 28, FormatTable[SOP1], 0, ExeUnitScalar, 64, 64, 0, 0, 0})
	d.addInstType(&InstType{"s_setpc_b64", 29, FormatTable[SOP1], 0, ExeUnitScalar, 64, 64, 0, 0, 0})
	d.addInstType(&InstType{"s_swappc_b64", 30, FormatTable[SOP1], 0, ExeUnitScalar, 64, 64, 0, 0, 0})
	d.addInstType(&InstType{"s_rfe_b64", 31, FormatTable[SOP1], 0, ExeUnitScalar, 64, 64, 0, 0, 0})
	d.addInstType(&InstType{"s_and_saveexec_b64", 32, FormatTable[SOP1], 0, ExeUnitScalar, 64, 64, 0, 0, 0})
	d.addInstType(&InstType{"s_or_saveexec_b64", 33, FormatTable[SOP1], 0, ExeUnitScalar, 64, 64, 0, 0, 0})
	d.addInstType(&InstType{"s_xor_saveexec_b64", 34, FormatTable[SOP1], 0, ExeUnitScalar, 64, 64, 0, 0, 0})
	d.addInstType(&InstType{"s_andn2_saveexec_b64", 35, FormatTable[SOP1], 0, ExeUnitScalar, 64, 64, 0, 0, 0})
	d.addInstType(&InstType{"s_orn2_saveexec_b64", 36, FormatTable[SOP1], 0, ExeUnitScalar, 64, 64, 0, 0, 0})
	d.addInstType(&InstType{"s_nand_saveexec_b64", 37, FormatTable[SOP1], 0, ExeUnitScalar, 64, 64, 0, 0, 0})
	d.addInstType(&InstType{"s_nor_saveexec_b64", 38, FormatTable[SOP1], 0, ExeUnitScalar, 64, 64, 0, 0, 0})
	d.addInstType(&InstType{"s_xnor_saveexec_b64", 39, FormatTable[SOP1], 0, ExeUnitScalar, 64, 64, 0, 0, 0})
	d.addInstType(&InstType{"s_quadmask_b32", 40, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_quadmask_b64", 41, FormatTable[SOP1], 0, ExeUnitScalar, 64, 64, 0, 0, 0})
	d.addInstType(&InstType{"s_movrels_b32", 42, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_movrels_b64", 43, FormatTable[SOP1], 0, ExeUnitScalar, 64, 64, 0, 0, 0})
	d.addInstType(&InstType{"s_movreld_b32", 44, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_movreld_b64", 45, FormatTable[SOP1], 0, ExeUnitScalar, 64, 64, 0, 0, 0})
	d.addInstType(&InstType{"s_cbranch_join", 46, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_abs_i32", 48, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})
	d.addInstType(&InstType{"s_set_gpr_idx_idx", 49, FormatTable[SOP1], 0, ExeUnitScalar, 32, 32, 0, 0, 0})

	d.addInstType(&InstType{"ds_add_u32", 0, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_sub_u32", 1, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_rsub_u32", 2, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_inc_u32", 3, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_dec_u32", 4, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_min_i32", 5, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_max_i32", 6, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_min_u32", 7, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_max_u32", 8, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_and_b32", 9, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_or_b32", 10, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_xor_b32", 11, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_mskor_b32", 12, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_write_b32", 13, FormatTable[DS], 0, ExeUnitLDS, 0, 32, 0, 0, 0})
	d.addInstType(&InstType{"ds_write2_b32", 14, FormatTable[DS], 0, ExeUnitLDS, 0, 32, 32, 0, 0})
	d.addInstType(&InstType{"ds_write2st64_b32", 15, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_cmpst_b32", 16, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_cmpst_f32", 17, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_min_f32", 18, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_max_f32", 19, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_nop ", 20, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_add_f32", 21, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_write_b8", 30, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_write_b16", 31, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_add_rtn_u32", 32, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_sub_rtn_u32", 33, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_rsub_rtn_u32", 34, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_inc_rtn_u32", 35, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_dec_rtn_u32", 36, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_min_rtn_i32", 37, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_max_rtn_i32", 38, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_min_rtn_u32", 39, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_max_rtn_u32", 40, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_and_rtn_b32", 41, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_or_rtn_b32", 42, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_xor_rtn_b32", 43, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_mskor_rtn_b32", 44, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_wrxchg_rtn_b32", 45, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_wrxchg2_rtn_b32", 46, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_wrxchg2st64_rtn_b32", 47, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_cmpst_rtn_b32", 48, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_cmpst_rtn_f32", 49, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_min_rtn_f32", 50, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_max_rtn_f32", 51, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_wrap_rtn_b32", 52, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_read_b32", 54, FormatTable[DS], 0, ExeUnitLDS, 32, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_read2_b32", 55, FormatTable[DS], 0, ExeUnitLDS, 64, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_read2st64_b32", 56, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_read_i8", 57, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_read_u8", 58, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_read_i16", 59, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_read_u16", 60, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_swizzle_b32", 61, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_permute_b32", 62, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_bpermute_b32", 63, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_add_u64", 64, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_sub_u64", 65, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_rsub_u64", 66, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_inc_u64", 67, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_dec_u64", 68, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_min_i64", 69, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_max_i64", 70, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_min_u64", 71, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_max_u64", 72, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_and_b64", 73, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_or_b64", 74, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_xor_b64", 75, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_mskor_b64", 76, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_write_b64", 77, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_write2_b64", 78, FormatTable[DS], 0, ExeUnitLDS, 0, 64, 64, 0, 0})
	d.addInstType(&InstType{"ds_write2st64_b64", 79, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_cmpst_b64", 80, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_cmpst_f64", 81, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_min_f64", 82, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_max_f64", 83, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_add_rtn_u64", 96, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_sub_rtn_u64", 97, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_rsub_rtn_u64", 98, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_inc_rtn_u64", 99, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_dec_rtn_u64", 100, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_min_rtn_i64", 101, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_max_rtn_i64", 102, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_min_rtn_u64", 103, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_max_rtn_u64", 104, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_and_rtn_b64", 105, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_or_rtn_b64", 106, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_xor_rtn_b64", 107, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_mskor_rtn_b64", 108, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_wrxchg_rtn_b64", 109, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_wrxchg2_rtn_b64", 110, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_wrxchg2st64_rtn_b64", 111, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_cmpst_rtn_b64", 112, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_cmpst_rtn_f64", 113, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_min_rtn_f64", 114, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_max_rtn_f64", 115, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_read_b64", 118, FormatTable[DS], 0, ExeUnitLDS, 64, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_read2_b64", 119, FormatTable[DS], 0, ExeUnitLDS, 128, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_read2st64_b64", 120, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_condxchg32_rtn_b64", 126, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_add_src2_u32", 128, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_sub_src2_u32", 129, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_rsub_src2_u32", 130, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_inc_src2_u32", 131, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_dec_src2_u32", 132, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_min_src2_i32", 133, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_max_src2_i32", 134, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_min_src2_u32", 135, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_max_src2_u32", 136, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_and_src2_b32", 137, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_or_src2_b32", 138, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_xor_src2_b32", 139, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_write_src2_b32", 141, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_min_src2_f32", 146, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_max_src2_f32", 147, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_gws_sema_release_all", 152, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_gws_init", 153, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_gws_sema_v", 154, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_gws_sema_br", 155, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_gws_sema_p", 156, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_gws_barrier", 157, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_consume", 189, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_append", 190, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_ordered_count", 191, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_add_src2_u64", 192, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_sub_src2_u64", 193, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_rsub_src2_u64", 194, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_inc_src2_u64", 195, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_dec_src2_u64", 196, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_min_src2_i64", 197, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_max_src2_i64", 198, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_min_src2_u64", 199, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_max_src2_u64", 200, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_and_src2_b64", 201, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_or_src2_b64", 202, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_xor_src2_b64", 203, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_write_src2_b64", 205, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_min_src2_f64", 210, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_max_src2_f64", 211, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_write_b96", 222, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_write_b128", 223, FormatTable[DS], 0, ExeUnitLDS, 0, 128, 0, 0, 0})
	d.addInstType(&InstType{"ds_condxchg32_rtn_b128", 253, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_read_b96", 254, FormatTable[DS], 0, ExeUnitLDS, 0, 0, 0, 0, 0})
	d.addInstType(&InstType{"ds_read_b128", 255, FormatTable[DS], 0, ExeUnitLDS, 128, 0, 0, 0, 0})
}
